The present invention relates to apparatus for decoding a signal encoded by a predictive coding method such as adaptive differential pulse code modulation (ADPCM) or adaptive predictive coding (APC), and to methods for removing noise from the decoded signal.
In predictive coding, an input source signal such as an audio signal is sampled, each successive sample value is predicted, and the difference between the sample value and the predicted value is coded according to a predetermined coding rule. In the decoder, the difference value is decoded, a similar prediction process is performed, and a decoded value is obtained by adding the decoded difference to the predicted value. In conventional ADPCM, the predicted value is the previous decoded value, and the coding rule is a quantization rule with an adaptive step size.
To reduce quantization error in ADPCM, the decoded difference values are located at or near the centers of the corresponding quantization steps. For efficient coding, the number of quantization steps is a power of two, including equal numbers of positive and negative steps, with no step centered on zero. Consequently, the decoded difference value is never zero. A resulting problem for audio signals is that when the signal source is completely silent, the decoded signal does not remain fixed at zero, but oscillates in the vicinity of zero, producing audible noise of the type referred to as granular noise.
Similar granular noise problems occur in APC and other predictive coding systems.
An object of the present invention is to eliminate granular noise.
According to a first aspect of the invention, a predictive decoder decodes a predictively coded signal to obtain a decoded signal, discards a predetermined number of least significant bits of the decoded signal, and produces an output signal from the remaining bits. The predetermined number of bits is the number of bits in which granular noise appears.
According to a second aspect of the invention, a predictive decoder decodes a predictively coded signal to obtain a decoded signal, and produces an output signal by adding each decoded signal value to the preceding decoded signal value and dividing the sum by two. This procedure completely eliminates granular noise of the type in which the decoded signal alternates between two values.
According to a third aspect of the invention, a predictive decoder decodes a predictively coded signal by a process that includes predicting a decoded signal value, adaptively adjusting a step size, obtaining a quantized difference value from the coded signal and the step size, and adding the quantized difference value to the predicted value to obtain an output signal. In addition, the decoder uses the step size and the quantized difference value to determine whether the coded signal represents an active source signal. When the coded signal is determined to represent an inactive source signal, the decoder resets the output signal to a fixed value. During intervals in which the output signal remains thus reset, granular noise is completely eliminated.